# -------------------------------------------------------------
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
# -------------------------------------------------------------

# Autogenerated By   : src/main/python/generator/generator.py
import unittest, contextlib, io


class TestIMG_CUTOUT(unittest.TestCase):
    def test_img_cutout(self):
        # Example test case provided in python the code block
        buf = io.StringIO()
        with contextlib.redirect_stdout(buf):
            import numpy as np
            from systemds.context import SystemDSContext
            from systemds.operator.algorithm import img_cutout

            with SystemDSContext() as sds:
                img = sds.from_numpy(
                    np.array([[ 50., 100., 150.],
                              [150., 200., 250.],
                              [250., 200., 200.]], dtype=np.float32)
                )
                result_img = img_cutout(img, 2, 2, 1, 1, 49.).compute()
                print(result_img)

            expected = """[[ 50. 100. 150.]
 [150.  49. 250.]
 [250. 200. 200.]]"""
        self.assertEqual(buf.getvalue().strip(), expected)


if __name__ == '__main__':
    unittest.main()
